[INFO] fetching crate cannyls 0.10.0...
[INFO] checking cannyls-0.10.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate cannyls 0.10.0 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate cannyls 0.10.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cannyls 0.10.0
[INFO] finished tweaking crates.io crate cannyls 0.10.0
[INFO] tweaked toml for crates.io crate cannyls 0.10.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded slog v2.7.0
[INFO] [stderr]   Downloaded prometrics v0.1.13
[INFO] [stderr]   Downloaded fibers_global v0.1.2
[INFO] [stderr]   Downloaded trackable_derive v1.0.0
[INFO] [stderr]   Downloaded fibers v0.1.13
[INFO] [stderr]   Downloaded nbchan v0.1.3
[INFO] [stderr]   Downloaded trackable v0.2.24
[INFO] [stderr]   Downloaded splay_tree v0.2.10
[INFO] [stderr]   Downloaded procinfo v0.4.2
[INFO] [stderr]   Downloaded atomic_immut v0.1.4
[INFO] [stderr]   Downloaded nom v2.2.1
[INFO] [stderr]   Downloaded trackable v1.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 94988b2787258dace5ba5710fc990bbe1fa14ba71afbd21a96ac673e16f7aed7
[INFO] running `Command { std: "docker" "start" "-a" "94988b2787258dace5ba5710fc990bbe1fa14ba71afbd21a96ac673e16f7aed7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "94988b2787258dace5ba5710fc990bbe1fa14ba71afbd21a96ac673e16f7aed7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94988b2787258dace5ba5710fc990bbe1fa14ba71afbd21a96ac673e16f7aed7", kill_on_drop: false }`
[INFO] [stdout] 94988b2787258dace5ba5710fc990bbe1fa14ba71afbd21a96ac673e16f7aed7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f2b13cfd22f3bebdda5e6b377627c6a692d44e241ccf9412fefea9cfa9c9d7a6
[INFO] running `Command { std: "docker" "start" "-a" "f2b13cfd22f3bebdda5e6b377627c6a692d44e241ccf9412fefea9cfa9c9d7a6", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]    Compiling procinfo v0.4.2
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking splay_tree v0.2.10
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]    Compiling slog v2.7.0
[INFO] [stderr]     Checking nom v2.2.1
[INFO] [stderr]     Checking nbchan v0.1.3
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking atomic_immut v0.1.4
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]     Checking fibers v0.1.13
[INFO] [stderr]     Checking fibers_global v0.1.2
[INFO] [stderr]    Compiling trackable_derive v1.0.0
[INFO] [stderr]     Checking trackable v1.3.0
[INFO] [stderr]     Checking trackable v0.2.24
[INFO] [stderr]     Checking prometrics v0.1.13
[INFO] [stderr]     Checking cannyls v0.10.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `command_tx` is never read
[INFO] [stdout]   --> src/device/thread.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct DeviceThread<N>
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     command_tx: CommandSender,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeviceThread` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> src/metrics.rs:785:5
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub struct StorageMetrics {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 785 |     header: Gauge,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StorageMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `command_tx` is never read
[INFO] [stdout]   --> src/device/thread.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct DeviceThread<N>
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     command_tx: CommandSender,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeviceThread` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> src/metrics.rs:785:5
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub struct StorageMetrics {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 785 |     header: Gauge,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StorageMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/device/mod.rs:568:34
[INFO] [stdout]     |
[INFO] [stdout] 568 |         assert!(result.unwrap(), true);
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 568 |         assert!(result.unwrap(), "{}", true);
[INFO] [stdout]     |                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.36s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "f2b13cfd22f3bebdda5e6b377627c6a692d44e241ccf9412fefea9cfa9c9d7a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2b13cfd22f3bebdda5e6b377627c6a692d44e241ccf9412fefea9cfa9c9d7a6", kill_on_drop: false }`
[INFO] [stdout] f2b13cfd22f3bebdda5e6b377627c6a692d44e241ccf9412fefea9cfa9c9d7a6
[INFO] checking cannyls-0.10.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate cannyls 0.10.0 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate cannyls 0.10.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cannyls 0.10.0
[INFO] finished tweaking crates.io crate cannyls 0.10.0
[INFO] tweaked toml for crates.io crate cannyls 0.10.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] efa72071fa36fcb78040fbad863a4b505fa6288a87fbcf681ba35c1a91eeb034
[INFO] running `Command { std: "docker" "start" "-a" "efa72071fa36fcb78040fbad863a4b505fa6288a87fbcf681ba35c1a91eeb034", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "efa72071fa36fcb78040fbad863a4b505fa6288a87fbcf681ba35c1a91eeb034", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "efa72071fa36fcb78040fbad863a4b505fa6288a87fbcf681ba35c1a91eeb034", kill_on_drop: false }`
[INFO] [stdout] efa72071fa36fcb78040fbad863a4b505fa6288a87fbcf681ba35c1a91eeb034
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cf54fb6865ce72fff9800b021e33740fbeb531eceea2f9e93dfcc7b6995f0ac7
[INFO] running `Command { std: "docker" "start" "-a" "cf54fb6865ce72fff9800b021e33740fbeb531eceea2f9e93dfcc7b6995f0ac7", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]    Compiling procinfo v0.4.2
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking splay_tree v0.2.10
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]     Checking nbchan v0.1.3
[INFO] [stderr]     Checking nom v2.2.1
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling slog v2.7.0
[INFO] [stderr]     Checking atomic_immut v0.1.4
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]     Checking fibers v0.1.13
[INFO] [stderr]     Checking fibers_global v0.1.2
[INFO] [stderr]    Compiling trackable_derive v1.0.0
[INFO] [stderr]     Checking trackable v1.3.0
[INFO] [stderr]     Checking trackable v0.2.24
[INFO] [stderr]     Checking prometrics v0.1.13
[INFO] [stderr]     Checking cannyls v0.10.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/block/aligned_bytes.rs:87:27
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (&mut new_buf[new_offset..][..self.len]).copy_from_slice(self.as_ref());
[INFO] [stdout]    |                           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/block/aligned_bytes.rs:103:19
[INFO] [stdout]     |
[INFO] [stdout] 103 |         &self.buf[self.offset..][..self.len]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/block/aligned_bytes.rs:108:23
[INFO] [stdout]     |
[INFO] [stdout] 108 |         &mut self.buf[self.offset..][..self.len]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lump.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |         for i in (0..Self::SIZE).rev() {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lump.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let bytes = &self.as_bytes()[0..len];
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/nvm/shared_memory.rs:59:44
[INFO] [stdout]    |
[INFO] [stdout] 59 |             Ok(mut lock) => Ok(f(&mut lock[self.position..self.memory_end])),
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/storage/data_region.rs:122:41
[INFO] [stdout]     |
[INFO] [stdout] 122 |         BigEndian::write_u16(&mut bytes[trailer_offset..], padding_len as u16);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/storage/data_region.rs:151:52
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let padding_len = BigEndian::read_u16(&buf[buf.len() - LUMP_DATA_TRAILER_SIZE..]) as usize;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:199:64
[INFO] [stdout]     |
[INFO] [stdout] 199 |         (&mut buf[..read_size]).copy_from_slice(&self.read_buf[start..end]);
[INFO] [stdout]     |                                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:216:34
[INFO] [stdout]     |
[INFO] [stdout] 216 |             (&mut self.write_buf[start..end]).copy_from_slice(buf);
[INFO] [stdout]     |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/storage/journal/record.rs:115:48
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 BigEndian::write_uint(&mut buf[2..], portion.start.as_u64(), PORTION_SIZE);
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/region.rs:157:22
[INFO] [stdout]     |
[INFO] [stdout] 157 |             for _ in 0..GC_COUNT_IN_SIDE_JOB {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/block/aligned_bytes.rs:87:27
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (&mut new_buf[new_offset..][..self.len]).copy_from_slice(self.as_ref());
[INFO] [stdout]    |                           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/block/aligned_bytes.rs:103:19
[INFO] [stdout]     |
[INFO] [stdout] 103 |         &self.buf[self.offset..][..self.len]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/block/aligned_bytes.rs:108:23
[INFO] [stdout]     |
[INFO] [stdout] 108 |         &mut self.buf[self.offset..][..self.len]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/device/probabilistic.rs:59:18
[INFO] [stdout]    |
[INFO] [stdout] 59 |         for _ in 0..n {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/device/mod.rs:387:18
[INFO] [stdout]     |
[INFO] [stdout] 387 |         for i in 2..7 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lump.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |         for i in (0..Self::SIZE).rev() {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lump.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let bytes = &self.as_bytes()[0..len];
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/nvm/file.rs:523:25
[INFO] [stdout]     |
[INFO] [stdout] 523 |         assert_eq!(&buf[header_len..][..3], b"bar");
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/nvm/shared_memory.rs:59:44
[INFO] [stdout]    |
[INFO] [stdout] 59 |             Ok(mut lock) => Ok(f(&mut lock[self.position..self.memory_end])),
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/storage/data_region.rs:122:41
[INFO] [stdout]     |
[INFO] [stdout] 122 |         BigEndian::write_u16(&mut bytes[trailer_offset..], padding_len as u16);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/storage/data_region.rs:151:52
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let padding_len = BigEndian::read_u16(&buf[buf.len() - LUMP_DATA_TRAILER_SIZE..]) as usize;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:199:64
[INFO] [stdout]     |
[INFO] [stdout] 199 |         (&mut buf[..read_size]).copy_from_slice(&self.read_buf[start..end]);
[INFO] [stdout]     |                                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:216:34
[INFO] [stdout]     |
[INFO] [stdout] 216 |             (&mut self.write_buf[start..end]).copy_from_slice(buf);
[INFO] [stdout]     |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:258:45
[INFO] [stdout]     |
[INFO] [stdout] 258 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:261:45
[INFO] [stdout]     |
[INFO] [stdout] 261 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:262:45
[INFO] [stdout]     |
[INFO] [stdout] 262 |         assert_eq!(&buffer.nvm().as_bytes()[3..6], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:265:45
[INFO] [stdout]     |
[INFO] [stdout] 265 |         assert_eq!(&buffer.nvm().as_bytes()[0..6], b"foobar");
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:275:45
[INFO] [stdout]     |
[INFO] [stdout] 275 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:279:45
[INFO] [stdout]     |
[INFO] [stdout] 279 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:280:45
[INFO] [stdout]     |
[INFO] [stdout] 280 |         assert_eq!(&buffer.nvm().as_bytes()[4..7], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:283:45
[INFO] [stdout]     |
[INFO] [stdout] 283 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], b"foo");
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:284:45
[INFO] [stdout]     |
[INFO] [stdout] 284 |         assert_eq!(&buffer.nvm().as_bytes()[4..7], b"bar");
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:289:45
[INFO] [stdout]     |
[INFO] [stdout] 289 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:293:45
[INFO] [stdout]     |
[INFO] [stdout] 293 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:294:45
[INFO] [stdout]     |
[INFO] [stdout] 294 |         assert_eq!(&buffer.nvm().as_bytes()[512..515], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:297:45
[INFO] [stdout]     |
[INFO] [stdout] 297 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], b"foo");
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:298:45
[INFO] [stdout]     |
[INFO] [stdout] 298 |         assert_eq!(&buffer.nvm().as_bytes()[512..515], b"bar");
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:303:45
[INFO] [stdout]     |
[INFO] [stdout] 303 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:307:45
[INFO] [stdout]     |
[INFO] [stdout] 307 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:308:45
[INFO] [stdout]     |
[INFO] [stdout] 308 |         assert_eq!(&buffer.nvm().as_bytes()[2..5], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:311:45
[INFO] [stdout]     |
[INFO] [stdout] 311 |         assert_eq!(&buffer.nvm().as_bytes()[0..5], b"fobar");
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:320:45
[INFO] [stdout]     |
[INFO] [stdout] 320 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:324:45
[INFO] [stdout]     |
[INFO] [stdout] 324 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], b"foo");
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:325:45
[INFO] [stdout]     |
[INFO] [stdout] 325 |         assert_eq!(&buffer.nvm().as_bytes()[513..516], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:334:45
[INFO] [stdout]     |
[INFO] [stdout] 334 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:337:45
[INFO] [stdout]     |
[INFO] [stdout] 337 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], b"foo");
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:342:45
[INFO] [stdout]     |
[INFO] [stdout] 342 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:346:45
[INFO] [stdout]     |
[INFO] [stdout] 346 |         assert_eq!(&buffer.nvm().as_bytes()[0..3], &[0; 3][..]);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:357:45
[INFO] [stdout]     |
[INFO] [stdout] 357 |         assert_eq!(&buffer.nvm().as_bytes()[0..512], &[b'a'; 512][..]);
[INFO] [stdout]     |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/nvm_buffer.rs:362:45
[INFO] [stdout]     |
[INFO] [stdout] 362 |         assert_eq!(&buffer.nvm().as_bytes()[0..256], &[b'a'; 256][..]);
[INFO] [stdout]     |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/storage/journal/record.rs:115:48
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 BigEndian::write_uint(&mut buf[2..], portion.start.as_u64(), PORTION_SIZE);
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/region.rs:157:22
[INFO] [stdout]     |
[INFO] [stdout] 157 |             for _ in 0..GC_COUNT_IN_SIDE_JOB {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/journal/ring_buffer.rs:423:18
[INFO] [stdout]     |
[INFO] [stdout] 423 |         for _ in 0..(512 / record.external_size()) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/mod.rs:465:18
[INFO] [stdout]     |
[INFO] [stdout] 465 |         for _ in 0..10 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/mod.rs:751:18
[INFO] [stdout]     |
[INFO] [stdout] 751 |         for i in 0..60 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/mod.rs:754:18
[INFO] [stdout]     |
[INFO] [stdout] 754 |         for i in 0..20 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/storage/mod.rs:842:18
[INFO] [stdout]     |
[INFO] [stdout] 842 |         for _ in 0..3 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `command_tx` is never read
[INFO] [stdout]   --> src/device/thread.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct DeviceThread<N>
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     command_tx: CommandSender,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeviceThread` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> src/metrics.rs:785:5
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub struct StorageMetrics {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 785 |     header: Gauge,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StorageMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/device/request.rs:109:16
[INFO] [stdout]     |
[INFO] [stdout] 109 |         range: Range<LumpId>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/device/request.rs:139:16
[INFO] [stdout]     |
[INFO] [stdout] 139 |         range: Range<LumpId>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/device/request.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout] 153 |         range: Range<LumpId>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/storage/mod.rs:128:38
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn usage_range(&self, range: Range<LumpId>) -> StorageUsage {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/storage/mod.rs:180:41
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn list_range(&mut self, range: Range<LumpId>) -> Vec<LumpId> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/storage/mod.rs:250:43
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub fn delete_range(&mut self, range: Range<LumpId>) -> Result<Vec<LumpId>> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public enum definition
[INFO] [stdout]   --> src/storage/journal/record.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |     DeleteRange(Range<LumpId>),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cannyls` (lib) due to 8 previous errors; 14 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: field `command_tx` is never read
[INFO] [stdout]   --> src/device/thread.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct DeviceThread<N>
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     command_tx: CommandSender,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeviceThread` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> src/metrics.rs:785:5
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub struct StorageMetrics {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 785 |     header: Gauge,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StorageMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/device/mod.rs:568:34
[INFO] [stdout]     |
[INFO] [stdout] 568 |         assert!(result.unwrap(), true);
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 568 |         assert!(result.unwrap(), "{}", true);
[INFO] [stdout]     |                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 50 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cf54fb6865ce72fff9800b021e33740fbeb531eceea2f9e93dfcc7b6995f0ac7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf54fb6865ce72fff9800b021e33740fbeb531eceea2f9e93dfcc7b6995f0ac7", kill_on_drop: false }`
[INFO] [stdout] cf54fb6865ce72fff9800b021e33740fbeb531eceea2f9e93dfcc7b6995f0ac7
